var express = require('express')
var path = require('path')
var mongoose = require('mongoose')
var Movie = require('./models/Movie')
var _ = require('underscore');
var bodyParser = require('body-parser')
var port = process.env.PORT || 3000

var app = express()

mongoose.connect('mongodb://localhost/imooc')

app.set('views', './views/pages')
app.set('view engine', 'jade')

app.use(bodyParser.urlencoded())

app.use(express.static(path.join(__dirname, 'public')))
app.locals.moment = require('moment')
app.listen(port)

console.log('imooc is running at ' + port)


//index page
app.get('/', function(req, res){
	/**/
	console.log(Movie)
	Movie.fetch(function(err, movies){
		if(err){
			console.log(err)
		}else{
			res.render('index', {
				title: 'imooc 首页',
				movies: movies
			})
		}
	})
	
	
	
	/*
	res.render('index', {
		title: 'imooc 首页',
		movies: [{
			title: '魔兽世界',
			_id: 1,
			poster: 'http://i1.img.969g.com/news/imgx2015/03/03/322_103456_d71a1_lit.jpg'
		},{
			title: '魔兽世界',
			_id: 2,
			poster: 'http://i1.img.969g.com/news/imgx2015/03/03/322_103456_d71a1_lit.jpg'
		},{
			title: '魔兽世界',
			_id: 3,
			poster: 'http://i1.img.969g.com/news/imgx2015/03/03/322_103456_d71a1_lit.jpg'
		},{
			title: '魔兽世界',
			_id: 4,
			poster: 'http://i1.img.969g.com/news/imgx2015/03/03/322_103456_d71a1_lit.jpg'
		},{
			title: '魔兽世界',
			_id: 5,
			poster: 'http://i1.img.969g.com/news/imgx2015/03/03/322_103456_d71a1_lit.jpg'
		},{
			title: '魔兽世界',
			_id: 6,
			poster: 'http://i1.img.969g.com/news/imgx2015/03/03/322_103456_d71a1_lit.jpg'
		}]
	})
	*/
})


//list page
app.get('/admin/list', function(req, res){
	
	Movie.fetch(function(err, movies){
		if(err){
			console.log(err)
		}else{
			res.render('list', {
				title: 'imooc 列表页',
				movies: movies
			})
		}
	})
	/**/
	/*
	res.render('list', {
		title: 'imooc 列表页',
		movies: [{
			title: '魔兽世界',
			_id: 1,
			doctor: 'World of Warcraft',
			country: '美国',
			year: 2016,
			poster: 'http://f.hiphotos.baidu.com/baike/c0%3Dbaike92%2C5%2C5%2C92%2C30/sign=9fd3762213dfa9ece9235e4503b99c66/cf1b9d16fdfaaf519ede95818e5494eef01f7aca.jpg',
			language: '英语',
			flash: 'http://movie.douban.com/trailer/video_url?tid=195183',
			summary: '《魔兽世界》（World of Warcraft）是由著名游戏公司暴雪娱乐所制作的第一款网络游戏，属于大型多人在线角色扮演游戏。游戏以该公司出品的即时战略游戏《魔兽争霸》的剧情为历史背景，依托魔兽争霸的历史事件和英雄人物，魔兽世界有着完整的历史背景时间线。[1]  玩家在魔兽世界中冒险、完成任务、新的历险、探索未知的世界、征服怪物等。'
		}]
	})
	*/
})

//detail page
app.get('/movie/:id', function(req, res){
	
	var id = req.params.id
	
	Movie.findById(id, function(err, movie){
		if(err){
			console.log(err)
		}else{
			res.render('detail', {
				title: 'imooc '+ movie.title,
				movie: movie
			})
		}
	})
	/**/
	/*
	res.render('detail', {
		title: 'imooc 详情页',
		movie: {
			doctor: 'World of Warcraft',
			country: '美国',
			title: '魔兽世界',
			year: 2016,
			poster: 'http://f.hiphotos.baidu.com/baike/c0%3Dbaike92%2C5%2C5%2C92%2C30/sign=9fd3762213dfa9ece9235e4503b99c66/cf1b9d16fdfaaf519ede95818e5494eef01f7aca.jpg',
			language: '英语',
			flash: 'http://f.v.17173cdn.com/201604281/flash/PreloaderFile.swf', 
			//flash: 'http://movie.douban.com/trailer/video_url?tid=195183',
			summary: '《魔兽世界》（World of Warcraft）是由著名游戏公司暴雪娱乐所制作的第一款网络游戏，属于大型多人在线角色扮演游戏。游戏以该公司出品的即时战略游戏《魔兽争霸》的剧情为历史背景，依托魔兽争霸的历史事件和英雄人物，魔兽世界有着完整的历史背景时间线。[1]  玩家在魔兽世界中冒险、完成任务、新的历险、探索未知的世界、征服怪物等。'
		}
	})
	*/
})

//admin update movie
app.get('/admin/update/:id', function(req, res){
	var id = req.params.id
	
	if(id){
		Movie.findById(id, function(err, movie){
			res.render('admin', {
				title: 'imooc 后台更新页',
				movie: movie
			})
		})
	}
})


//admin post movie
app.post('/admin/movie/new', function(req, res){

	
	var id = req.body.movie._id
	var movieObj = req.body.movie
	var _movie
	
	if(id && id !== 'undefined'){
		
		Movie.findById(id, function(err, movie){
			if(err){
				console.log(err)
			}else{
				_movie = _.extend(movie, movieObj)
				_movie.save(function(err, movie){
					if(err){
						console.log(err)
					}else{
						res.redirect('/movie/' + movie._id)
					}
				})
			}
		})
	} else {
	
		_movie = new Movie({
			doctor: movieObj.doctor,
			title: movieObj.title,
			country: movieObj.country,
			language: movieObj.language,
			year: movieObj.year,
			poster: movieObj.poster,
			summary: movieObj.summary,
			flash: movieObj.flash
		})
		
		_movie.save(function(err, movie){
			if(err){
				console.log(err)
			}else{
				res.redirect('/movie/' + movie._id)
			}
		})
	}
})

//admin page
app.get('/admin/movie', function(req, res){


	res.render('admin', {
		title: 'imooc 后台录入页',
		movie: {
			title: '',
			doctor: '',
			country: '',
			year: '',
			poster: '',
			flash: '',
			summary: '',
			language: ''
		}
	})
	
})

app.delete('/admin/list', function(req, res){
	var id = req.query.id
	if(id && id !== 'undefined'){
		
		Movie.remove({_id: id}, function(err, movie){
			if(err){
				console.log(err)
			}else{
				res.json({success: 1})
			}
		})
	}else{
		res.json({success: 0})
	}
})
